title: Subshell command in Docker
body: <p>In a build process I need to call <code>zipalign</code> which is on a certain path in the docker container that I'm using:</p>
  
  <pre><code>$ docker run nathansamson/flutter-builder-docker:v0.7.3 find . -iname zipalign
  ./opt/android-sdk-linux/build-tools/28.0.1/zipalign
  </code></pre>
  
  <p>This path can change, if the docker container is updated and there is a new android sdk. For example this could be the path in the future:</p>
  
  <pre><code>$ docker run nathansamson/flutter-builder-docker:v0.9.9 find . -iname zipalign
  ./opt/android-sdk-linux/build-tools/42.0.0/zipalign
  </code></pre>
  
  <p>So instead of hardcoding the call to </p>
  
  <pre><code>docker run nathansamson/flutter-builder-docker:v0.7.3 \
  /opt/android-sdk-linux/build-tools/28.0.1/zipalign -h 
  </code></pre>
  
  <p>I would like a generic solution that finds the path to zipalign automatically. I have tried it with a subshell</p>
  
  <pre><code>$ docker run nathansamson/flutter-builder-docker:v0.7.3 $(find . -iname zipalign) -h
  docker: Error response from daemon: OCI runtime create failed: 
  container_linux.go:348: starting container process caused "exec: \"-h\": 
  executable file not found in $PATH": unknown.
  ERRO[0001] error waiting for container: context canceled 
  </code></pre>
  
  <p>and with a wildcard for the folder:</p>
  
  <pre><code>$ docker run nathansamson/flutter-builder-docker:v0.7.3 /opt/android-sdk-linux/build-tools/*/zipalign -h 
  docker: Error response from daemon: OCI runtime create failed: 
  container_linux.go:348: starting container process caused "exec: 
  \"/opt/android-sdk-linux/build-tools/*/zipalign\": stat /opt/android- 
  sdk-linux/build-tools/*/zipalign: no such file or directory": unknown.
  ERRO[0001] error waiting for container: context canceled 
  </code></pre>
  
  <p>So subshells and wildcard don't work in Docker. Any ideas how I can find the path to zipalign whenever I'm calling it?</p>