Percorra o zero inicial:
somecmd logs-0{2..9}.tar.bz2 logs-{10..15}.tar.bz2
(O 02..06
no exemplo é trivial para lidar dessa maneira.)
Ou use printf
:
somecmd $(printf "logs-%02d.tar.gz " {2..15})
Isso depende da divisão de palavras e funciona apenas enquanto o nome do arquivo não tiver caracteres glob ou espaço em branco.
Feito corretamente, isso seria simples, mas um pouco longo:
files=()
for x in {2..15} ; do
files+=( "$(printf "logs-%02d.tar.gz" $x)" )
done
somecmd "${files[@]}"