argv0-test/src/parent.c

24 lines
505 B
C
Raw Normal View History

2022-01-26 20:39:00 +00:00
#include <stdio.h>
#include <unistd.h>
2022-01-26 20:51:11 +00:00
#include <string.h>
2022-01-26 20:39:00 +00:00
int
main(int argc, char **argv, char **envp)
{
2022-01-26 20:51:11 +00:00
int ret = 0;
2022-01-26 20:39:00 +00:00
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);
2022-01-26 20:51:11 +00:00
ret = execve(argv[1], ptr, envp);
2022-01-26 20:39:00 +00:00
2022-01-26 20:51:11 +00:00
printf("%s: execve failed ;_; got %s\n", argv[0], strerror(ret));
2022-01-26 20:39:00 +00:00
return 0;
}