Так что я довольно новичок в функциях семейства exec языка C, и мне было интересно, почему cal возвращает
usage: cal [-13smjyV] [[[day] month] year]
При передаче в execve (); ниже
pid = fork( ) ;
if ( pid == 0 ) {
char *myArgv[ ] = { "cal", "4", "1980", "NULL"};
char *myEnv[ ] = { "HOME=/usr/bin", NULL} ;
execve( "/usr/bin/cal", myArgv, myEnv) ;
} else {
printf("parent process waiting for execve complete \n" );
}
тогда как, когда я вызываю 'cal 4 1980' вручную через мой терминал, я получаю фактическую распечатку?
April 1980
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30