Add /bin/echo
shell: move function to string.c; rename execute_command to process_input
pipe_write(): loop and block until nbytes have been written - only return only if no reader
cat: don't loop writes, as the pipe bug is now fixed