The arguments are separated by white space, that is, blanks or tabs. For example, set X 2 has two arguments. Not all white space separates arguments. Here are the exceptions.
Curly brackets can surround an argument that contains white space.
A backslash prevents a white space character from separating arguments. The effect of the command is to assign this argument to the variable named in the first argument. Any given command may require a fixed number of arguments or may accept a variable number of arguments. The command line pattern shown above applies not just to simple commands but also to control structures. To do so, you will need to understand how procedures are defined, how their name spaces are controlled, and how exceptions work.