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