Execute vários comandos Exec no mesmo shell golang

Estou tendo problemas para descobrir como executar vários comandos usando o pacote os / exec. Eu procurei na net e no stackoverflow e não encontrei nada que funcione para mim. Aqui está a minha fonte:

package main

import (
    _ "bufio"
    _ "bytes"
    _ "errors"
    "fmt"
    "log"
    "os"
    "os/exec"
    "path/filepath"
)

func main() {
    ffmpegFolderName := "ffmpeg-2.8.4"
    path, err := filepath.Abs("")
    if err != nil {
        fmt.Println("Error locating absulte file paths")
        os.Exit(1)
    }

    folderPath := filepath.Join(path, ffmpegFolderName)

    _, err2 := folderExists(folderPath)
    if err2 != nil {
        fmt.Println("The folder: %s either does not exist or is not in the same directory as make.go", folderPath)
        os.Exit(1)
    }
    cd := exec.Command("cd", folderPath)
    config := exec.Command("./configure", "--disable-yasm")
    build := exec.Command("make")

    cd_err := cd.Start()
    if cd_err != nil {
        log.Fatal(cd_err)
    }
    log.Printf("Waiting for command to finish...")
    cd_err = cd.Wait()
    log.Printf("Command finished with error: %v", cd_err)

    start_err := config.Start()
    if start_err != nil {
        log.Fatal(start_err)
    }
    log.Printf("Waiting for command to finish...")
    start_err = config.Wait()
    log.Printf("Command finished with error: %v", start_err)

    build_err := build.Start()
    if build_err != nil {
        log.Fatal(build_err)
    }
    log.Printf("Waiting for command to finish...")
    build_err = build.Wait()
    log.Printf("Command finished with error: %v", build_err)

}

func folderExists(path string) (bool, error) {
    _, err := os.Stat(path)
    if err == nil {
        return true, nil
    }
    if os.IsNotExist(err) {
        return false, nil
    }
    return true, err
}

Eu quero o comando como eu gostaria do terminal.cd path; ./configure; make Portanto, preciso executar cada comando em ordem e aguardar o último comando terminar antes de prosseguir. Com minha versão atual do código, atualmente diz que./configure: no such file or directory Suponho que seja porque o caminho do cd é executado e em um novo shell ./configure é executado, em vez de estar no mesmo diretório do comando anterior. Alguma ideia?ATUALIZAR Resolvi o problema alterando o diretório de trabalho e executando o comando ./configure and make

err = os.Chdir(folderPath)
    if err != nil {
        fmt.Println("File Path Could not be changed")
        os.Exit(1)
    }

Ainda agora estou curioso para saber se existe uma maneira de executar comandos no mesmo shell.

questionAnswers(1)

yourAnswerToTheQuestion