1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <unistd.h> 4 #include <string.h> 5 6 7 int global_i = 100; 8 9 int main (void) 10 { 11 int local_j = global_i+1; 12 int local_k = local_j+1; 13 14 printf ("foll-exec is about to execlp(execd-prog)...\n"); 15 16 execlp (BASEDIR "/execd-prog", 17 BASEDIR "/execd-prog", 18 "execlp arg1 from foll-exec", 19 (char *)0); 20 21 printf ("foll-exec is about to execl(execd-prog)...\n"); 22 23 execl (BASEDIR "/execd-prog", /* tbreak-execl */ 24 BASEDIR "/execd-prog", 25 "execl arg1 from foll-exec", 26 "execl arg2 from foll-exec", 27 (char *)0); 28 29 { 30 static char * argv[] = { 31 (char *)BASEDIR "/execd-prog", 32 (char *)"execv arg1 from foll-exec", 33 (char *)0}; 34 35 printf ("foll-exec is about to execv(execd-prog)...\n"); 36 37 execv (BASEDIR "/execd-prog", argv); /* tbreak-execv */ 38 } 39 } 40