I also use CLI options to override file options, and I think that's the intention of openvpn's authors. But it seems like --up handling is just buggy.
When it comes to relative paths, I've made sure the working directory was already set correctly (I put the script in the same dir as configs) or else I used the --cd option to set it.
What I'll typically get is:
Options error: --up script fails with 'scriptname.sh': No such file or directory
Options error: Please correct this error.
Further testing reveals that anytime there are multiple --up options and one of the files doesn't exist (which is the intent in my case, to override the setting for a non-existent script) then openvpn will try to use the
non-existent one and error out on that. It doesn't matter in what order those --up options are specified or whether they're on the command line or in a file. ...... Plus, it doesn't like absolute paths.
So the only way to resolve this is to _process_ the config file with something like 'sed' to comment-out the up and down lines before running openvpn.