What are possible ways of including some calls of run task with args in a build file?

Does anybody know what the simplest way to register several run tasks that represent exact copy of original one with changed app’s arguments ? Or may be how to supply run task with an optional argument that would represent app’s argument.
Basically, I want my build to contain some pre-defined options how to run an application and don’t want to declare new JavaExec that requires its manual configuring while I have already had ready-to-go run task supplied by default.

gradle run --args='--mode=middle'      ---> gradle run || gradle runDefault || gradle run default
gradle run --args='--mode=greed'       ---> gradle runGreed || gradle run greed
gradle run --args='--mode=lavish'      ---> gradle runLavish || gradle run lavish

Take a look at task rules.