If you can identify them by name like exefile1, exefile2 and so on, why not use a wildcard like exe*
Else you might want to write a small loop testing each file in the directory like for example:
$> ls
infile ksh ls
$> file *
infile: ASCII text
ksh: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.0, ...
ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.4.1, ...
$> tar -cvf archive.tar `ls -1| while read LINE; do file $LINE| grep -i exec| cut -d: -f1; done`
ksh
ls
$> tar tvf archive.tar
-rwxr-xr-x root/root 184896 2009-07-06 09:18 ksh
-rwxr-xr-x root/root 77352 2009-07-06 09:05 ls
If you want it recursively with subdirectories, you might want to use find instead of ls.