#include #include #include int main(int argc, char **argv) { char **newargs; int i = 0; printf("Content-type: text/plain\r\n\r\n"); printf("compiled by gcc %s\n", __VERSION__); for (i = 0; argv[i]; i++) { printf("argv[%d]: %s\n", i, argv[i]); } newargs = calloc(i + 2, sizeof(char *)); for (i = 0; argv[i]; i++) { newargs[i] = argv[i]; } newargs[i++] = strdup("magic_param"); newargs[i] = '\0'; // paranoid much ? printf("i: %d\n", i); for (i = 0; newargs[i]; i++) { printf("trying to display %d\n", i); printf("nargs[%d]: %s\n", i, newargs[i]); } return 0; }