Скажем, я хочу порождать процесс и запускать execv
для выполнения команды, подобной ls
, вот как я это делаю:
char * const parm[] = { "/usr/bin/ls","-l" , NULL };
if ((pid = vfork()) == -1)
perror("fork error");
else if (pid == 0)
{
execv("/usr/bin/ls", parm);
}
Теперь вопрос в том, что здесь я жестко запрограммировалгде присутствует команда ls
(/usr/bin/ls
).Теперь предположим, что я не знаю, где присутствует конкретная команда, и хочу ее выполнить, как мне это сделать?Я знаю, что в обычной оболочке переменная PATH
ищется для достижения того же, но в случае программы на C, использующей execv
, как мне этого добиться?