Write a c program that implements a


Write a C program that implements a shell. The shell program should operate in the following basic way: when you type in a command (in response to its prompt), the shell creates a child process that executes the command you entered and then prompts for more user input when it has finished.


The shell program is essentially a loop that performs the following steps:
1. Print the command prompt.
2. Read the command line (e.g, "ls -a -l").
3. Parse the command line into tokens consisting of the executable file name ("ls") and its
arguments ("-a" and "-l").
4. Fork a child process, which executes the command.
5. Wait for the child to terminate.
When parsing the command line, store the tokens in an argument vector, say argvec[], which is an
array of pointers to strings. For example, if the command line is "ls -a -l" then:
argvec[0] = "ls",
argvec[1] = "-a", and
argvec[2] = "-l".
Make sure to terminate the array of pointers by a NULL pointer - i.e.:
argvec[3] = NULL.

After parsing the command, fork a child process that will then perform an execvp() to execute the
command. Pass the argument vector that you built as an argument to function execvp()

In shells (such as tcsh or bash) the history command is a builtin shell command - it is implemented
within the shell itself and does not correspond to a separate system program. Enhance your shell program
by adding a history feature. Number the commands in the history list according to its order of occurrence since the beginning when your shell program was invoked.



1. Your C source code
2. A makefile for source code
3. A README file describing program

Request for Solution File

Ask an Expert for Answer!!
Basic Computer Science: Write a c program that implements a
Reference No:- TGS0816665

Expected delivery within 24 Hours