На странице руководства execve () говорится, что argv - это список строковых аргументов, который заканчивается нулевым указателем. Но для чего нужен NP? Я имею в виду, что число аргументов хранится в argc, так какой смысл в нулевом указателе?
execve не принимает argc в качестве параметра, он вручную считает аргументы, которые вы задали как argv, чтобы определить argc.
execve
argc
argv
Это для совместимости с execl, который принимает переменное число аргументов вместо массива argv.
execl
Счет для argc рассчитывается путем поиска этого значения NULL.