Аргумент 0, взятый из argv[0]
, обычно является именем команды.Обычно это та же строка, которую вы передаете в качестве первого аргумента execvp
(это то, что делают оболочки).
Аргумент 1 из argv[1]
- это первый «реальный» аргумент.Поэтому передайте трехэлементный массив, содержащий: char *args[] = {"less", "tempFile", NULL}
В большинстве языков используется одинаковая нумерация аргументов.Например, если вы вызываете скрипт оболочки, он видит то, что вы передаете как argv[0]
, как его $0
, что вы передаете как argv[1]
как $1
и т. Д. Perl является заметным исключением: в скрипте Perl,argv[0]
- $0
, argv[1]
- $ARGV[0]
, argv[2]
- $ARGV[1]
и т. Д.