cpコマンドで複数のファイルをあるディレクトリ以下にコピーする際、
コピー元のファイルの相対パスを保ったままコピーするには
どうすればいいでしょうか?

具体的には、
cp -p hoge.txt aaa/fuga.txt bbb/ccc/boke.txt /dokoka/sonohen
を実行すると、hoge.txt fuga.txt boke.txtが、
/dokoka/sonohenの直下にコピーされてしまいますが、
hoge.txtは /dokoka/sonohen/hoge.txtでいいですが、
aaa/fuga.txtは /dokoka/sonohen/aaa/fuga.txtに、
bbb/ccc/boke.txtは /dokoka/sonohen/bbb/ccc/boke.txtに、
コピーしたいのです。

シェルでパス名を文字列処理すればできると思いますが、
できればもっと簡単にコマンド一発の方法を希望します。

あと、tar等を使うのは無しでお願いします。