Your shell should accept and execute the pipe "|" operator. This will look like the following:
The functionality of this operator is to execute command1 and send its output to the pipe. Then execute command2 and use the pipe as input. For this you will need to use the close(), dup() and pipe() functions.
Here is a sample of the execution:
/home/ p r o j e c t s / cs200 / spring12 / shell >cat project2.c | grep include
/home/ p r o j e c t s / cs200 / spring12 / shell >