Я не собираюсь показывать вам работающую модель, но execve () работает следующим образом:
char *args[] = {"foo", "argument1", "argument2", (char *)NULL};
... обрабатывать разветвления ....
res = execve("/sbin/foo", args, (char *)NULL);
... handle execve () не работает ....
Третий аргумент execve () оставлен читателю для изучения, NULL может подходить или не подходить для вашего задания.Кроме того, вам решать, какой тип res
должен быть и что он должен быть равен в случае успеха.Обратите внимание на приведение NULL.
Одна спецификация Single UNIX обычно является хорошим местом для начала.