A maneira usual de fazer isso no bash é usar a expansão de parâmetro. (Veja a bash página man e procure por "Parameter Expansion".)
a=${1%.*}
O % indica que tudo que corresponde ao padrão a seguir ( .* ) da direita, usando a menor correspondência possível, deve ser excluído do parâmetro $1 . Nesse caso, você não precisa de aspas duplas (") ao redor da expressão.