Você pode usar apenas * ; não há necessidade de *.* . As extensões de arquivo não são especiais no Unix. * corresponde a zero ou mais caracteres, incluindo um ponto. Portanto, corresponde a foo.png , porque são zero ou mais caracteres (sete, para ser exato).
Observe que * por padrão não corresponde aos arquivos que começam com um ponto (nem *.* ). Isso geralmente é o que você quer. Se não, no bash, se você for shopt -s dotglob (mas ainda excluirá . e .. ). Outras shells têm formas diferentes (ou nenhuma) de incluir arquivos de ponto.
Como alternativa, zip também tem uma opção -r (recursiva) para fazer árvores de diretório inteiras de uma vez (e não precisa se preocupar com o problema do dotfile):
zip -r myfiles.zip mydir
onde mydir é o diretório que contém seus arquivos. Observe que o zip produzido conterá a estrutura de diretório e os arquivos. Como peterph aponta em seu comentário, isso geralmente é visto como uma coisa boa: extrair o zip armazenará todos os arquivos extraídos em um subdiretório.
Você também pode dizer ao zip para não armazenar os caminhos com a opção -j / --junk-paths .
O comando zip vem com documentação informando sobre todas as suas (muitas) opções; digite man zip para ver essa documentação. Isso não é exclusivo do zip; você pode obter documentação para a maioria dos comandos dessa maneira.