os161-1.99
 All Data Structures
argtesttest.c
00001 /*
00002  * argtesttest
00003  *
00004  *      launch argtest with some arguments
00005  *
00006  *   relies on fork, execv
00007  *
00008  */
00009 
00010 #include <unistd.h>
00011 #include <err.h>
00012 
00013 static char *xargv[4] = { (char *)"argtesttest", (char *)"first", (char *)"second", NULL };
00014 
00015 static
00016 void
00017 spawnv(const char *prog, char **argv)
00018 {
00019   pid_t pid = fork();
00020   switch (pid) {
00021   case -1:
00022     err(1, "fork");
00023   case 0:
00024     /* child */
00025     execv(prog, argv);
00026     err(1, "%s", prog);
00027   default:
00028     /* parent */
00029     break;
00030   }
00031 }
00032 
00033 int
00034 main()
00035 {
00036   spawnv("/testbin/argtest", xargv);
00037   return 0;
00038 }
 All Data Structures