Arduino IDE バーション 1.5.x 以降から
コマンドラインからのビルドに対応したようで試していたのですが、
https://github.com/arduino/Arduino/blob/ide-1.5.x/build/shared/manpage.adoc

上記ドキュメントを読んで

$ ln -s /Applications/Arduino.app/Contents/MacOS/Arduino /usr/local/bin/arduino

とシンボリックリンクを作って、コマンド実行したところ、
「MainClassNameRequired」とだけ表示されたウィンドウが現れ、
アプリが起動せずビルドできませんでした。

bashのPATHは通っていますし、権限も問題ないと思います。

いろいろ調べた結果シンボリックリンクではなく、.bash_profile

alias arduino="/Applications/Arduino.app/Contents/MacOS/Arduino $*"

と記述し、同様にコマンド実行したら、アプリが起動しビルドが通りました。

実行したArduinoビルドコマンドは下記のような感じです。

$ arduino analogpin_test/analogpin_test.ino --verify

CLIでのビルドは成功したのですが、

なぜシンボリックリンクを作成した場合は実行失敗するのかがわからず、
理由を知りたいです。
各コマンドは全てホームディレクトリから入力しています。

--

例えば homebrew では、バイナリファイルのシンボリックリンクを作成して、
パスの通ったディレクトリ配下におくことでコマンドが実行できるようになりますが、
今回のケースでは何かが違ったのでしょうか?