// Fixed Format
#include <stdio.h>
extern char *environ[];
main(int argc,
char *argv[])
{ int child,c;
char *argvn[5];
argvn[0]="/bin/ls";argvn[1]="-l";argvn[2]=NULL;
child=fork();
if(child==0)
execve(argvn[0],argvn,environ);
else wait(0);
}
// Simple Shell, input from the command line with the program name
#include <stdio.h>
extern char *environ[];
main(int argc,
char *argv[])
{ int child,c;
argv[3]=NULL;
child=fork();
if(child==0)
execve(argv[1],&argv[1],environ);
else wait(0);
}
==================================================================================
// Simple shell, input within the shell until ‘x’ to quit
#include <stdio.h>
extern char *environ[];
main(int argc,
char *argv[])
{ int child,c;char
p1[10],p2[10];
char *argvn[5];
while(1)
{ printf("CS433->");
scanf("%s
%s",p1,p2);
argvn[1]=p1;argvn[2]=p2;
if(strcmp(p1,"x")==0) exit(0);
argvn[3]=NULL;argv[3]=NULL;
child=fork();
if(child==0)
execve(argvn[1],&argvn[1],environ);
else wait(0);
}
}