本当はちゃんとソースを追った方が、と思いつつも、それには労力も時間も必要なので、ちょっと想像混じりで。
まず、bash がコマンドラインの入力を処理する時ですが、これは readline というライブラリを経由して処理しています。
The GNU Readline Library
で、readline の Ver 4.3 と合わせて、bash がマルチバイトに対応したのが 2002 年のようです。
bashがマルチバイト文字に正式対応 | スラッシュドット・ジャパン
上記ページには Shift_JIS や 0x5c の件には具体的に触れていませんが、とりあえず 10 年ぐらい前には、この辺の処理に対応できるようになっていたと思われます。
で、bash が正しく処理出来れば、echo に「表表」という引数が渡されるのですが、echo 自体は単に引数に渡された文字列をそのまま標準出力に出力するのがデフォルトの挙動なので、そもそも「0x5c」を見つけた時に何か特別な事をする必要がありません。「-e」オブションがついていれば、echo 自信が何らかの解釈をしますが、そうでなければ、そのまま標準出力に出すだけになります。
bash の場合に戻ってみると、bash コマンドラインで「\」記号に対して特別な解釈をする(エスケープ処理をする)ので、bash は正しく Shift_JIS を解釈できる必要があります。
あとは、標準出力先が正しく表示できるか、という問題になります。例えば、Windows から Teraterm や putty などでつないでいるケースであれば、それらのソフトが正しく Shift_JIS を扱えれば、正しく表示されます。ソフトの設定で文字コードの指定を間違えて文字化けした経験はあると思いますが、そこは合わせてしまえば正しく表示できます。ただ、Linux でテキストコンソールを使っている場合は、そもそも日本語の文字を表示出来ないケースが殆んどなので、テキストコンソールでの実行の場合は、文字コードによらず日本語の文字が表示出来ないことが多いです。