若干はまったのでメモ
$ calc_date=`date -d '${target_date} 2 days ago'  +%Y-%m-%d`
↑NG。。。

$ calc_date=`date -d "${target_date} 2 days ago" +%Y-%m-%d`
↑OK

エスケープ文字によって、エスケープする文字の種類の数が違うのね。。。
シングルクオートだと変数までもが文字列扱いになってしまいNG。

はずかしい