when reading in a command via the read(2) system call, the user inputs are stored in an array of characters, also known as the buffer. there are string-related utility functions that can tokenize a single string into an array of strings delimited by space. such an array of strings may be needed to invoke one of the exec(3) family of functions. it is important to note that the buffer is not a valid c string until a null character (the \0 character) is explicitly placed after the last valid character in your buffer. please make sure to do this before calling any string utility function that expects a valid c string as its input parameter