Witam, poszukuję osoby która będzie w stanie zrobić to zadanie, do 31.01 godziny 12:00 (południe). Oferty proszę wysyłać na mail'a bądź pw. [email protected]

Napisz w języku C prostą powłokę mysh implementującą poniższe funkcjonalności:
Wyświetla znak zachęty (prompt) w postaci [{username}@hostname {pwd}] $, wyświetlając nazwę użytkownika, nazwę komputera i katalog bieżący.
obsługuje polecenie cd pozwalające zmieniać katalog bieżący.
Obsługuje polecenie exit kończące działanie powłoki. exit powinno być w stanie przyjąć parametr będący liczbą, która zostanie zgłoszona jako kod powrotu powłoki.
Obsługuje polecenie help wyświetlające pomoc do programu.
Obsługuje polecenie version wyświetlające informacje o autorze.
Obsługuje dwa inne polecenia wbudowane powłoki bash (sekcja “SHELL BUILTIN COMMANDS” w man bash).
Pozwala uruchamiać programy z odwołaniami poprzez ścieżki (względne lub bezwzględne). Nie wymagamy obsługi parametrów pozycyjnych.
Pozwala uruchamiać programy znajdujące się w ścieżce (zmienna PATH) z przekazanymi parametrami.
Pozwala zmieniać wartości zmiennych środowiskowych poleceniem ZMIENNA=wartość (nie ma zmiennych powłoki, są tylko zmienne środowiskowe).
Pozwala na uruchomienie programu ze zmienioną wartością zmiennej środowiskowej (jak w bashu: ZMIENNA=wartość polecenie).
Wypisywać błąd w wypadku błędnego/nieistniejącego polecenia.
Oprócz programu w C, należy stworzyć plik Makefile, który skompiluje program do pliku wykonywalnego mysh po uruchomieniu make.

Do powłoki muszą być wykorzystane te funkcje

Do obsługi zmiennych środowiskowych najłatwiej użyć funkcji getenv, setenv, putenv itp.
Do uruchamiania poleceń wykorzystujemy funkcję fork i funkcje z rodziny exec.
Do sprawdzania błędów służy mechanizm errno.