>>64
>>58
クォートはプログラムに対して渡されるわけではない
(シェルが展開するときの挙動で使われ、プログラムにはクォートは除去して渡される。
man bashでQuote Removalを検索してみよう)
ので、プログラムに対する問題ではないな。

59だと、ルートディレクトリ(/)以下の"デスクトップ"ディレクトリに保存されることになる。
64をクォーティングしたら~が展開されず、カレントディレクトリ以下の~という名前のディレクトリのDesktopというディレクトリの…となる。