Я провел последние 2 дня, пытаясь понять системный вызов execlp(), но все же я здесь. Позвольте мне прямо ответить на этот вопрос.
man page execlp объявляет системный вызов как int execlp(const char *file, const char *arg, ...); с описанием: аргумент const char и последующие эллипсы в функциях execl(), execlp() и execle() можно рассматривать как arg0, arg1,..., argn.
Тем не менее, я вижу, что системный вызов называется так в нашем учебнике: execlp("/bin/sh", ..., "ls -l /bin/??", ...); ( "..." для нас нужно найти в качестве студентов). Однако этот системный вызов даже не похож на объявление в man page системного вызова.
Я смущен. Любая помощь приветствуется.