passer une variable vide dans bash

mon problème:

#!/bin/bash

function testFunc(){
    echo "param #1 is :" $1
    echo "param #2 is :" $2
}

param1="param1"
param2="param2"

testFunc $param1 $param2

De cette façon, la sortie est :

param #1 is : param1
param #2 is : param2

Mais quand j'ai mis param1 à la chaîne vide:

param1=""

Alors la sortie est de la mise en jachère:

param #1 is : param2
param #2 is :

Je suppose que le problème est que lorsque le premier paramètre est vide, ce n'est pas déclarée, il ne fait pas se passer comme paramètre d'une fonction.

Si c'est le problème, est-il possible de déclarer une variable "chaîne vide" dans bash, ou est-il une solution de contournement pour obtenir le comportement attendu?

Remarque: Il fonctionne comme prévu si j'ai appeler la fonction comme ceci:

testFunct "" $param2

Mais je veux avoir un code propre.

Mise à JOUR:

J'ai récemment découvert le -u qui soulève une erreur dans le cas d'un unbound variable est sur le point d'être utilisé.

$ bash -u test.sh
param #1 is : param1
test.sh: line 5: $2: unbound variable

source d'informationauteur kupsef