Tengo hecha una shell que cumple esas características, a parte de muchas otras como procesos en background(&), redireccionamientos(>, <), tuberias(|), comandos internos (ps, cd, pwd), manejo de variables de entorno, gestor de consola,...si te interesa te puedo pasar el codigo