Se você simplesmente precisa modificar este script, e ainda não pode modificá-lo para aceitar um parâmetro de linha de comando por algum motivo estranho, você pode tentar o seguinte:
new_val=5000
sed -e "s/\$input_store_nbr = \"[0-9]+\";/\$input_store_nbr = \"$new_val\";/" src_file > tmp_file
mv tmp_file src_file
ou se você tiver um sed
que o suporte (como o GNU ou o BSD com um argumento) você poderia usar o -i
flag para sed
e não precisar do arquivo temporário (explícito).
Eu ainda acho que seria melhor modificar o script fonte uma vez (já que já estão modificando) para fazer algo como:
$input_store_nbr = $ARGV[0];
invocando-o com o novo número como o primeiro argumento de linha de comando, como você teria passado para o script sed
para reescrever o arquivo.