argv0-test/src/parent.c

24 lines
505 B
C

#include <stdio.h>
#include <unistd.h>
#include <string.h>
int
main(int argc, char **argv, char **envp)
{
int ret = 0;
char *arr = NULL;
char **ptr =
#ifdef PTR_TO_NULL
&arr;
printf("%s: using &NULL as argv...\n", argv[0]);
#else
NULL;
printf("%s: using just NULL as argv...\n", argv[0]);
#endif
printf("%s: argv == %p\n", argv[0], ptr);
ret = execve(argv[1], ptr, envp);
printf("%s: execve failed ;_; got %s\n", argv[0], strerror(ret));
return 0;
}