Eu preciso manipular datas (enquanto presto atenção aos anos bissextos)
Felizmente, GNU date tem uma opção muito útil -d :
-d, --date=STRING display time described by STRING, not 'now'
(de man date )
Isso aceita descrições de datas arbitrárias, como "now + 1 year" "Jan 28 + 3 weeks"; ou no seu caso: "agora - 10 dias":
touch yp_$(date -d 'now - 10 days' +%Y%m%d).log
Não há necessidade de invocações confusas de bc , sem se preocupar com anos bissextos - o GNU date cuidará disso.