To develop a C program that uses fork(), pipe(), and the exec() family of process system calls to process simple shell commands. Your C program must be named myShell.c and, after compiled, the executable produced is to be named mysh.

Job ID: 35948822

Budget: $30 – $250 USD

You are to use any distribution of the Linux operating system to create a program to parse and execute
simple shell commands. The commands to be processed will have the following syntax:
MyShPrompt> command1 | command2 | command3 | command4 > file.txt
The above listed syntax illustrates the maximum sequence of commands that your shell will be able to
process. Also, all commands may or may not have postfixed flags.
The statements that follow illustrate the required syntax for the commands. They are also to be used for
the testing of your prototype.
Prompt> ./mysh
MyShPrompt> cat country.txt city.txt | egrep ‘g’ | sort | more > countryCitygSorted.txt
MyShPrompt> cat country.txt city.txt | egrep ‘g’ | sort | wc -l > countryCitygCount.txt
In the above examples Prompt> is your command line prompt. MyShPrompt> is the new prompt created
as the result of the execution of your mysh binary file. Files country.txt, and city.txt are input files and
countryCitygSorted.txt, and countryCitygCount.txt are output files. Both input files are available in the
two tables below and populated with the data to be used to verify the correctness of your solution.