Witam. Mam do napisania program, który jako parametr pobiera polecenie i wykonuje je (exec) w wątku dziecka.
Stworzyłem coś takiego:
#include<stdio.h>
#include<unistd.h>
#include <sys/types.h>
int main(int argc, char *argv[])
{
if(fork() == 0)
{
execl(argv[0], argv[1], NULL);
}
return 0;
}
przy uruchomieniu na linuxie komenda ./zadanie ls
nic się nie dzieje. Z tego co rozumiem argv[1] to jest właśnie ta komenda, w powyższym przykładzie komenda ls.
Wnioskuję, że nie do końca zrozumiała dla mnie jest komenda execl i niepoprawnie jej używam. Jakieś sugestie?