In bash one can escape arguments that contain whitespace.
foo \"a string\"
This also works for arguments to a command or function:
Use arrays (one of the hidden features in Bash).