Não há nenhuma maneira direta de contar arquivos que correspondam a um padrão, mas você pode fazer isso em duas etapas fáceis: gerar a lista de arquivos e usar o tamanho da lista. Supondo que a data esteja no formato AAAAMMDD (observe que isso atrapalha os parâmetros posicionais):
set ExtractBackup_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].tar.gz
if [ -e "$1" ]; then count=$#; else count=0; fi
No ksh93, você pode facilitar a contagem fazendo com que a lista fique vazia se nenhum arquivo corresponder. Portavelmente, um padrão que não corresponde a nenhum arquivo é substituído por uma lista contendo uma palavra que é o próprio padrão; O ksh93 tem uma construção para ter o padrão expandido para uma lista vazia. Ksh tem arrays, o que significa que você não precisa estrobiar os parâmetros posicionais.
backups=(~(N:ExtractBackup_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].tar.gz))
count=${#backups[@]}
Se a data estiver no formato AAAAMMDD, o arquivo mais antigo será o primeiro da lista.
set ExtractBackup_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].tar.gz
if [ $# -ge 2 ]; then rm "$1"; fi