If you're an advanced CS student asking this question, find another final project.
You're going to have trouble.
Otherwise, consider looking at what other people have done before. First off, you should have read at least one advanced Unix programming book - like Richard Steven's book. I know you haven't read Marc Rochkind's 'Advanced Unix Programming' because he develops a shell in Chapter 6.