Any app that has RGB Levels can do that for you, although RGB Curves would give you greater flexibility. Alternatively, some apps have linear color mixers, mine has a three-channel RGB mixer - 9 sliders ... very flexible!
I think you should look for an app that saves a side-car file with all your adjustments in it and, more importantly, allows the re-use of that file on other images. Free RawTherapee is one such app.