Running games through Steam's Proton is great. But what if there is a secondary exe or configuration application bundled with the game? How can you launch it if Steam itself only launches the game?
Simply run this command in a terminal:
cd /path/to/steam/steamapps/compatdata/20920/pfx
STEAM_COMPAT_DATA_PATH="/path/to/steam/steamapps/compatdata/20920" WINEPREFIX=$PWD \
"$HOME/.steam/root/steamapps/common/Proton 5.0/proton" run ./drive_c/path/to/custom_application.exe
Where 20920 is the game id.
First you cd (change directory) to the proton prefix in question. If you don't have any custom steam libraries it likely will all be within your home directory. To find it easier you may run find . | grep compatdata from ~/ and when you find it, cd to it.
Real world example:
cd /media/michael/SSDGAMES/steam/steamapps/compatdata/20920/pfx
STEAM_COMPAT_DATA_PATH="/media/michael/SSDGAMES/steam/steamapps/compatdata/20920" WINEPREFIX=$PWD \
"/home/michael/.steam/root/steamapps/common/Proton 5.0/proton" run \
./drive_c/flawless/FlawlessWidescreen.exe
Someone in the comments below created a bash script that makes this easier: https://gist.github.com/michaelbutler/f364276f4030c5f449252f2c4d960bd2?permalink_comment_id=3921629#gistcomment-3921629
You can just use ProtonTricks for this.
Once ProtonTricks is installed, double click the exe and ProtonTricks asks you which Proton profile you want to run the exe under, select the game you want and the exe runs.
I've been using ProtonTricks to inject dependencies like dotnet, visual C++ redistributables and dinput/XInput etc. and use Mod Managers for various games.