What does char * arge[] mean as third parameter in the main function in a C program ?
#include <stdio.h>
#include <unistd.h>
int main(int argc, char const *argv[], char *arge[]) {
int i;
char **p;
printf("pid = %d\n", getpid());
printf("argc = %d\n", argc);
for (i = 0; i < argc; i++)
printf("%s\n",argv[i] );
p=arge;
while (*p != NULL)
printf("%s\n", *p++);
execve("prog2", argv, arge);
return 0;
}
"prog2" mentionned is this one:
#include <stdio.h>
#include <unistd.h>
int main(int argc, char const *argv[], char *arge[]) {
printf("pid = %d\n", getpid());
printf("argc = %d\n", argc);
for(;;);
}
If you execute the code you will get all the environment variables.