1 #include <u.h> 2 #include <libc.h> 3 #include <auth.h> 4 5 void usage(void)6usage(void) 7 { 8 fprint(2, "usage: testboot cmd args...\n"); 9 exits("usage"); 10 } 11 12 void main(int argc,char ** argv)13main(int argc, char **argv) 14 { 15 int p[2]; 16 17 if(argc == 1) 18 usage(); 19 20 pipe(p); 21 switch(rfork(RFPROC|RFFDG|RFNAMEG)){ 22 case -1: 23 sysfatal("fork: %r"); 24 25 case 0: 26 dup(p[0], 0); 27 dup(p[1], 1); 28 exec(argv[1], argv+1); 29 sysfatal("exec: %r"); 30 31 default: 32 if(amount(p[0], "/n/kremvax", MREPL, "") < 0) 33 sysfatal("amount: %r"); 34 break; 35 } 36 exits(nil); 37 } 38