頑張って書けば可能だけど、
月の長さや閏年とか考えると、GNU dateかLL使うのがいいですよ。
コマンド組み合わせるのがシェルの得意なところだし。