Não. Atribuir um array diretamente já o força a ser um array. Você só precisaria usar -a se não estivesse atribuindo e queria que a variável começasse com () .
Existe uma diferença entre:
local args=("$@")
e
local -a args=("$@")
Eu vejo um código com o argumento -a , mas não consigo descobrir para que ele está lá.
Tags bash shell-script