Write a C program that performs the job of a shell command line interpreter for the Linux operating system.
The program should prompt the user for a command with:
When the user types in a line, the program should parse the command line to determine what program to run, and also to determine the sequence of parameters that should be sent to the program.
It should search the directory system(inthe order specified by the PATH environment variable) for a file with the same name as the first identifier. If the file is found, then it should be executed with the optional parameter list. Use and execv() system call to execute the file that contains the command.
Add functionality so that the user can use the "&" operator as a command terminator. A command terminated with "&" should be executed concurrently with the shell.
Add functionality so thaat the user can redirect the stdin or stdout file descriptores by using the "<" and ">" characters. Also allow the user to use the pipe operator, "|", to execute two processes concurrently, with stdout from the first process being redirectec as the stdin for the second process.
The program only needs to handle each of the operators "&", "<", ">", and "|" in isolation, Do not cater for possible combinations of the above operators.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request.
3) Exclusive and complete copyrights to all work purchased. (No GPL, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site).