で書いたような、Bundlerで生成したファイルの中から必要な分だけを既存のディレクトリに突っ込んで、rake build とrake installしてもbin以下にある実行ファイルがコマンドとしてインストールされなかった。
散々悩んだが、gemspecを見ていて原因がわかった。
gem.files = `git ls-files`.split($\)
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
git ls-filesの結果を使っているが、bin以下をまだgit addしていなかった。git addしてから改めてやってみたらいけた。