O problema é que seu $PATH contém o literal ~ em vez do caminho real. A sintaxe ~/... é algo específico para o shell; não é expandido pela função execvp() da glibc, por exemplo.
Use caminhos absolutos, como em PATH="$HOME/.local/bin:$HOME/.gem/ruby/1.9.1/bin:$PATH