Firstly, if you don't have to use strtok(), you should use a higher-level library that does argument parsing for you.
That being said, here's how you should go about parsing a string like: "command arg1 arg2 arg3..." (separated by spaces).
Short answer:
After using strtok() on the string to get the first part of the string (the command name), you can then call strtok() again, this time passing NULL instead of a pointer to a string. strtok() will then return the next string, i.e. the first argument, and each call to strtok() will return the next argument until there are no more arguments to parse.
Explanation:
What strtok() actually does is locate the first separator char you give it (in your case, a space mark). After finding it, it turns it into a NULL marker, which means, the string now only goes up to the first space (i.e. you have a pointer to the memory: "command\0arg1 arg2 arg3". Since strings are terminated at the first \0, your pointer now points to a string that says "command".)
What you want to do now is pass a pointer to the place after your string ends, i.e. a pointer pointing at the 'a' char of "arg1", and call strtok again (so that the space between arg1 and arg2 is now turned into a NULL, and you now have a pointer to a string containing the word "command".
But since this is the most common operation, strtok() makes this much easier. If you pass in a NULL pointer, it will assume that that's exactly what you want to do, and treat the NULL pointer as if you had passed a pointer pointing at "arg1".
Note that as another way to make life easier, strtok() will always return the pointer that it thinks you gave it (i.e. when passing a real pointer, that's what you get back, but when passing a NULL pointer, you get the pointer you would have passed in).
Hope that helps.