The $var-variable expanded when you declared $exe-string as long as you use double-quotes like you have in the question. Single quotes however $exe = 'c:\$var.exe' would not work as single quotes makes a literal string.
Output $exe to verify the path. Your $var value is probably wrong.
The error just says which line it ran, not which path it actually used except for that it's stored in the $exe-variable.
$var = "nonexistingfile"
$exe = "c:\$var.exe"
$exe
c:\nonexistingfile.exe
Start-Process $exe
Start-Process : This command cannot be run due to the error: The system cannot find the file specified.
At line:1 char:1
+ Start-Process $exe
+ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException
+ FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand
However with a valid path:
$var = "windows\system32\notepad"
$exe = "c:\$var.exe"
$exe
c:\windows\system32\notepad.exe
Start-Process $exe
#Starts notepad
$varand$exebefore runningStart-Processdo they have the expected values?