A shell in C++