Setting variables with executing a command with exec

You need to use env to specify the environment variable:

exec env MY_VARIABLE=my_value ./my_script.sh

If you want your script to start with an empty environment or with only the specified variables, use the -i option.

From man env:

   env - run a program in a modified environment

In bash, you can set environment variables for a command by putting the assignments at the beginning of the command. This works the same for exec as any other command, so you write:

MYVARIABLE=my_value exec ./my_script.sh

Tags:

Syntax

Bash

Exec