My university has a project where you implement a shell in c from scratch with most of the commonly known features of bash -- scripting, file redirection, command substitution, the whole nine yards. Needless to say it's a mess by the end.
You don't need any library for that.
It's also from scratch (no libraries).
The professor provides an extensive test suite to check your implementation.
Although I know many places use this project.