A couple of things: if THIS_DIR contains dirname -bash, cp -Ri $THIS_DIR/... expands to the equivalent of cp -Ri dirname -bash/... (because of word splitting), that is, cp gets dirname and -bash/... as distinct arguments. That second one starts with a dash, so it tries to interpret the letters in it as options. GNU cp doesn't have -h as an option, so it gives an error.
You could prevent the splitting with quotes, but that doesn't mean much since you probably don't have a directory called dirname -bash with the space and all.
Looking at the script, THIS_DIR is set via
THIS_DIR="`dirname $0`"
note the backticks, they start a command substitution, running the dirname command. If you remove them, a literal string dirname ... is assigned.
Then again, $0 is the name of the running shell or script. The script probably uses that command to find out where the script itself resides, e.g. the path /foo/bar if you ran /foo/bar/scriptname.sh. But in an interactive shell launched normally $0 probably just contains bash, or -bash if it's a login shell.
Like cutrightjm said in comments, that script is meant to run as a script, not as commands individually copied to the terminal. (It still could use quotes around the expansions.)
Of course you could change the assignment to THIS_DIR in the script, or otherwise modify it before running.