A shell script receives arguments in numbered parameters. The first argument is $1; $0 names the script. Quote an expansion so a value containing spaces stays intact.
A shebang documents the intended interpreter, while running bash explicitly selects that interpreter for this exercise. Keep reusable behavior in the script rather than typing a one-off output file. Run the saved script to verify that its parameter handling preserves the complete value. A quoted value such as "east package" is one argument even though it contains a space. $# reports how many arguments arrived, and "$@" passes them onward as separate arguments. Running bash route.sh reads the script through Bash; running ./route.sh also requires execute permission and uses the interpreter named by its shebang.