Bonjour,
Il est également possible d'utiliser les expressions régulières étendues avec l'option -E, auquel cas il ne faut plus protéger les parenthèses capturantes.
En revanche d'autres caractères se retrouvent avec une signification comme les accolades qu'il faut donc protéger.
sed -i -Ee 's/(debut_path_qui_ne_change_pas)[-a-zA-Z_.\/0-9]*(\$\{year\})/\1'"${var_path_new}"'\2/g' fichier
A noter l'option -e n'est pas obligatoire mais à l'avantage d'augmenter la portabilité. De plus si plusieurs scripts sont passés à sed l'option devient indispensable.
De même délimiter les variables via ${} est une bonne pratique.
Une autre solution assez classique pour travailler avec des expressions régulières est perl qui utilise des regex encore plus riches :
perl -i -pe 's/(debut_path_qui_ne_change_pas)[-\w.\/\d]*(\$\{year\})/\1'"${var_path_new}"'\2/g' fichier