かなりの力業ですが引数を文字列にして渡してしまうという手もあります。省略した引数は文字配列変数の中身が空なのでそれを判定してデフォルト値を代入すればいいのかな。