Mais precisamente, um traço duplo ( -- ) é usado nos comandos internos do bash e em muitos outros comandos para significar as opções de fim de comando, após as quais somente parâmetros posicionais são aceitos.
Exemplo de uso: digamos que você queira grep um arquivo para a string -v - normalmente -v será considerada a opção para inverter o significado correspondente (apenas mostrar linhas que não combinam), mas com -- você pode grep para a string -v assim:
grep -- -v file