Попробуйте прочитать руководство: https://linux.die.net/man/3/execv
Выдержка:
Описание Семейство функций exec () заменяет текущий образ процесса новым образом процесса.Функции, описанные на этой странице руководства, являются внешними для execve (2).(См. Страницу руководства для execve (2) для получения дополнительной информации о замене текущего образа процесса.)
Начальным аргументом для этих функций является имя файла, который должен быть выполнен.
const char * arg и последующие эллипсы в функциях execl (), execlp () и execle () можно рассматривать как arg0, arg1, ..., argn.Вместе они описывают список из одного или нескольких указателей на строки с нулевым символом в конце, которые представляют список аргументов, доступных для исполняемой программы.Первый аргумент, по соглашению, должен указывать на имя файла, связанное с исполняемым файлом.Список аргументов должен заканчиваться указателем NULL, и, поскольку они являются переменными функциями, этот указатель должен быть приведен (char *) NULL.
execv (), execvp () и execvpe ()функции предоставляют массив указателей на строки с нулевым символом в конце, которые представляют список аргументов, доступный для новой программы.Первый аргумент, по соглашению, должен указывать на имя файла, связанное с исполняемым файлом.Массив указателей должен заканчиваться указателем NULL.
Функции execle () и execvpe () позволяют вызывающей стороне указывать среду исполняемой программы через аргумент envp.Аргумент envp представляет собой массив указателей на строки с нулевым символом в конце и должен заканчиваться указателем NULL.Другие функции получают среду для нового образа процесса из внешней переменной среды в вызывающем процессе.
Специальная семантика для execlp () и execvp ()
execlp (), execvp () и функции execvpe () дублируют действия оболочки при поиске исполняемого файла, если указанное имя файла не содержит символ косой черты (/).Файл ищется в списке разделенных двоеточиями каталогов, указанных в переменной среды PATH.Если эта переменная не определена, по умолчанию в списке путей указан текущий каталог, за которым следует список каталогов, возвращаемый confstr (_CS_PATH).(Этот вызов confstr (3) обычно возвращает значение "/bin:/usr/bin".)