Из опенсоурса по-минимуму нужно собственно 2 вещи: какой-то аналог libreadline (для ввода буковок руками, во-архаизм-то, руками писать, страшно подумать), во-вторых интерпретатор "командного языка". Советую посмотреть сюда: http://badsector.github.com/lil/ на счёт последнего. Как быть с libreadline -- не знаю, только поделка студентов:
http://fk0.name/data/readline.tar.gz