port forwardingを使って、リモートでMySQLにアクセスする方法について質問させていただきます。

以下に簡単なdemo script(demo.sh)を作成しました。

echo $1;
echo $2;
echo "$HOME/local/bin/mysql -u user -D WB -h$1 --port=$2"  (<-ここのコマンドは正常に動きます。)

query() {
    $HOME/local/bin/mysql -u user -D WB -h$1 --port=$2
}

query "begin;\
         #some command for MySQL
      commit;"

OSはubuntu16.04を使って、portの番号を13306に設定しております。

bash demo.sh xxxx 13306
(xxxは実際のIP addressです。)

とタイプしますと、
mysql: [ERROR] /home/user/local/bin/mysql: Empty value for 'port' specified
というエラーが出てきます。
自分の理解では、portの番号が指定されていないことがエラーの原因だと思います。

しかし、3番目のechoの結果を、直接terminalにコピペしますと、正常にMySQLにアクセスできます。このことより、コマンド自体は問題ないと考えております。

質問ですが、bash scriptではEmpty value for 'port' specifiedとなってしまっている部分を、何とかport番号を指定する方法はありますでしょうか?

ーPオプションも試してみましたが、問題は解決しませんでした。

もし何方かご存知でしたら、ご教授をお願いします。
何卒宜しくお願い致します。