A review of
HBASE-9831 pointed out the fact that -D options aren't being passed into the configuration object used by hbck. This means overriding -D options will not work unless special hooks are for specific options. A first attempt to fix this was in HBASE-9831 but it affected many other files.
The right approach would be to create a new HbckTool class that had the configured interface and change to existing HBaseFsck main to instantiate that to have it parse args, and then create the HBaseFsck object inside run.