bashのversionがある程度新しければ、特定のファイルを除くパターン!(PATTERN)が使えるようだ。
パターンはglob(グロブ)が入っていてもOK。
!(test1)であればtest1以外のファイル/ディレクトリが全て対象になり、ワイルドカードを使って!(*2)であれば2で終わるファイル/ディレクトリを除いたものが対象となる。

# CentOS 7
$ bash --version | head -1
GNU bash, version 4.2.46(1)-release (x86_64-redhat-linux-gnu)

$ ls -1
test1
test2
test3

$ ls -1 !(test1)
test2
test3

$ ls -1 !(*2)
test1
test3

bashのversionが古いと対応していないようだった。

# CentOS 6
$ bash --version | head -1
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)

$ ls -1 !(test1)
-bash: !: event not found