Can't store multiple arguments with read -p in macOS terminal using bash
The variable IFS is used by various commands. The safest thing to do is save the value, then restore when finished. Below is an example.

declare "IFS_BACKUP=$IFS"
IFS=$' \t\n'
read -p "Enter your command: " cmd arg1 arg2
IFS="$IFS_BACKUP"
echo "$cmd"
echo "$arg1"
echo "$arg2"


The documentation command man bash defines IFS as follows:

   IFS    The  Internal  Field  Separator  that is used for word splitting
          after expansion and to split lines  into  words  with  the  read
          builtin  command.   The  default  value  is  ``&lt;space&gt;&lt;tab&gt;&lt;new-
          line&gt;''.